/**
 * @author: li_chao
 * @date: 2021年08月31日 16:08
 */
package com.yj.cmp.sdk.fusioncompute.network.dvswitch.vo;

import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@NoArgsConstructor
@Data
public class DVSwitchDetailVo {

    @SerializedName("description")
    private String description;
    @SerializedName("hostPortSet")
    private List<HostPortSetDTO> hostPortSet;
    @SerializedName("isIgmpSnooping")
    private Boolean isIgmpSnooping;
    @SerializedName("mtu")
    private Integer mtu;
    @SerializedName("name")
    private String name;
    @SerializedName("params")
    private ParamsDTO params;
    @SerializedName("portGroupNum")
    private Integer portGroupNum;
    @SerializedName("qosType")
    private Integer qosType;
    @SerializedName("totalVspNum")
    private Integer totalVspNum;
    @SerializedName("type")
    private Integer type;
    @SerializedName("uri")
    private String uri;
    @SerializedName("urn")
    private String urn;
    @SerializedName("usedVspNum")
    private Integer usedVspNum;
    @SerializedName("vlanPoolSet")
    private List<VlanPoolSetDTO> vlanPoolSet;
    @SerializedName("vxlanPoolSet")
    private List<?> vxlanPoolSet;

    @NoArgsConstructor
    @Data
    public static class ParamsDTO {
        @SerializedName("canAddUplink")
        private String canAddUplink;
    }

    @NoArgsConstructor
    @Data
    public static class HostPortSetDTO {
        @SerializedName("hostName")
        private String hostName;
        @SerializedName("hostUrn")
        private String hostUrn;
        @SerializedName("portName")
        private String portName;
        @SerializedName("portUrn")
        private String portUrn;
        @SerializedName("status")
        private Integer status;
    }

    @NoArgsConstructor
    @Data
    public static class VlanPoolSetDTO {
        @SerializedName("endVlanId")
        private Integer endVlanId;
        @SerializedName("startVlanId")
        private Integer startVlanId;
    }
}